"""
dir() 函数不带参数时，返回当前范围内的变量、方法和定义的类型列表；
            带参数时，返回参数的属性、方法列表。
    如果参数包含方法__dir__()，该方法将被调用。
    如果参数不包含__dir__()，该方法将最大限度地收集参数信息。
['__add__', '__class__', '__contains__', '__delattr__',
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__',
 '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__',
 '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__',
  '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '
  __reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__',
   '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__',
    'append', 'clear', 'copy', 'count', 'extend', 'index',
    'insert', 'pop', 'remove', 'reverse', 'sort']
"""
print(dir(list))

# 只有一个元素的数组比较时，比较第一个值得大小
list1 = [110]
list2 = [100]
print(list1 > list2)  # true

# 有多个元素的数组比较时，还是比较第一个值得大小
list1 = [110, 1]
list2 = [100, 99999]
print(list1 > list2)  # true

# 两个列表可以用'+'相加
list3 = list1 + list2
print(list3)  # [110, 1, 100, 99999]

list4 = list1 * 3
print(list4)  # [110, 1, 110, 1, 110, 1]

# in/not in 判断元素是否存在数组中
list5 = [110, ['dylan', 20], 110, 119]
print(110 in list5)  # True
print('dylan' in list5)  # False,获取不到子数组中得元素
print(20 in list5[1])  # True，必须自动定位到子数组

# count 计算元素在数组中存在的数量
print(list5.count(110))  # 2

# index 返回当前元素在数组中第一次出现的下标
print(list5.index(110))  # 0
# print(list5.index(110, 1, 3))  # 2

list6 = [4, 3, 7, 6, 12, 0, 1, 2]
# 倒序
list6.reverse()
print(list6)  # [2, 1, 0, 12, 6, 7, 3, 4]

# 排序
list6.sort()
print(list6)  # [0, 1, 2, 3, 4, 6, 7, 12]

# 反向排序
list6.sort(reverse=True)
print(list6)  # [12, 7, 6, 4, 3, 2, 1, 0]

